import regeneratorRuntime from '../../lib/runtime/runtime';
import { request } from "../../request/index.js";
Page({

    /**
     * 页面的初始数据
     */
    data: {
        goodsObj:{},
        iscollect:false
    },
    /* 商品对象 */
    GoodsInfo:{},
    /**
     * 生命周期函数--监听页面加载
     */
    onShow: function () {
        let pages=getCurrentPages();
        let currentPages=pages[pages.length-1];
        let options=currentPages.options;
        const {goods_id}=options
        this.getDetail(goods_id)
    },
    /* 获取商品详情数据 */
    async getDetail(goods_id){
        const goodsObj = await request({url:"/goods/detail",data:{goods_id}})
        this.GoodsInfo=goodsObj;
         /* 获取缓存中商品收藏的·数组 */
         const collect=wx.getStorageSync('collect')||[];
         /* 判断商品是否被收藏 */
         let iscollect=collect.some(v=>v.goods_id===this.GoodsInfo.goods_id);
        this.setData({
            goodsObj:{
                goods_price:goodsObj.goods_price,
                goods_name:goodsObj.goods_name,
                /* iphone部分手机不识别 .webp图片格式 */
                /* 主要后台修改，现在只是前端自己稍微修改 */
                goods_introduce:goodsObj.goods_introduce.replace(/\.webp/g,'.jpg'),
                pics:goodsObj.pics
            },
            iscollect
        })
    },
    /* 点击轮播图放大预览 */
    handleprevewImage(e){
        const urls=this.GoodsInfo.pics.map(v=>v.pics_mid);
        const current=e.currentTarget.dataset.url;
        wx.previewImage({
          urls,
          current
        })
    },
    /* 点击加入购物车 */
    handleCartAdd(){
        /* 1 获取缓存中的购物车数组 */
        let cart=wx.getStorageSync('cart')||[];
        /* 2 判断是否存在缓存购物车数组中 */
        let index=cart.findIndex(v=>v.goods_id===this.GoodsInfo.goods_id);
        if(index===-1){
            /* 不存在 第一次添加 */
            this.GoodsInfo.num=1;
            this.GoodsInfo.checked=true;
            cart.push(this.GoodsInfo);
        }else{
            /* 已存在购物车数据则Num++ */
            cart[index].num++;
        }
        /* 把购物车重新添加会缓存 */
        wx.setStorageSync('cart', cart);
        /* 弹窗提示 */
        wx.showToast({
          title: '添加成功',
          icon:'success',
          mask:true,
          
        })

    },
    /* 点击收藏商品 */
    handleCollect(){
        let iscollect=false;
        /* 获取缓存中商品收藏的数组 */
        let collect=wx.getStorageSync('collect')||[];
        /* 判断是否被收藏 */
        let index = collect.findIndex(v=>v.goods_id===this.GoodsInfo.goods_id)
        /* 当index!=-1 已收藏 */
        if(index!==-1){
            collect.splice(index,1);
            iscollect=false;
            wx.showToast({
              title: '取消成功',
              mask:true
            })
        }else{
            collect.push(this.GoodsInfo);
            iscollect=true;
            wx.showToast({
              title: '收藏成功',
              mask:true
            })
        }
        /* 把数组存入到缓存中 */
        wx.setStorageSync('collect', collect)
        this.setData({
            iscollect
        })
    }
})